package od.one;

/**
 * @author: Shelly
 * @create: 2024-01-30 15:02:33
 * @version: 1.0
 * @describe: 开源项目热度榜单
 * 题目描述
 * 某个开源社区希望将最近热度比较高的开源项目出一个榜单，推荐给社区里面的开发者。对于每个开源项目，开发者可以进行关注(watch)、收藏(star)、 fork、提issue、提交合并请求(MR)等。
 * 数据库里面统计了每个开源项目关注、 收藏、fork、 issue、 MR的数量，开源项目的热度根据这5个维度的加权求和进行排序。
 * 1  H = (Wwatch * #watch) + (Wstar * #star) + (Wfork * #fork) +  (Wissue * #issue) + (Wmr * #mr)
 * H表示热度值
 * Wwatch、 Wstar、 Wfork、 Wissue、 Wmr分别表示5个统计维度的权重。
 * #watch、 #star、 #fork、 #issue、 #mr分别表示5个统计维度的统计值。
 * 榜单按照热度值降序排序，对于热度值相等的，按照项目名字转换为全小写字母后的字典序排序(
 * 输入描述
 * 第一行输入为N, 表示开源项目的个数, 0 < N <100。
 * 第二行输入为权重值列表，一共5个整型值，分别对应关注、 收藏、 fork、 issue、 MR的权重，权重取值(
 * 第三行开始接下来的N行为开源项目的统计维度，每一行的格式为：
 * 1  name nr watch nr start nr fork nr issue nr mr
 * 其中 name 为开源项目的名字，由英文字母组成，长度≤50，其余5个整型值分别为该开源项目关注、 收藏、 fork、 issue、 MR的数量，数量取值0< nr≤1000。
 * 输出描述
 * 按照热度降序，输出开源项目的名字，对于热度值相等的，按照项目名字转换为全小写后的字典序排序(
 * 用例1
 * 输入
 * 1  4
 * 2    8 6 2 8 6
 * 3  camil a 66 70 46 158 80
 * 4  victoria 94 76 86 189 211
 * 5  anthony 29 17 83 21 48
 * 6  emily 53 97 1 19 218
 * 输出
 * 1    victoria
 * 2  camila
 * 3  emily
 * 4  anthony
 * 说明
 *
 * 用例2
 * 输入
 * 1    5
 * 2    5 6 6 1 2
 * 3    camila 13 88 46 26 169
 * 4    grace 64 38 87 23 103
 * 5    luca s 91 79 98 154 79
 * 6    leo 29 27 36 43 178
 * 7  ava 29 27    36 43 178
 * 输出
 * 1    lucas
 * 2    grace
 * 3    camila
 * 4  ava
 * 5    leo
 */
public class OD22 {
}
/*
* 解题思路
2.读取其名称和评分。然后，我们使用权重和评分来计算项目的"热度"。这是通过将每个评分与其对应的权重相乘，然后将所有的乘积相加来完成的。

3.排序首先是根据热度进行的，热度高的项目排在前面。如果两个项目的热度相同，那么我们就根据项目名称进行排序，名称按字母顺序排列。
* */